package com.graduation.rescuematerial.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.graduation.rescuematerial.dto.UserDTO;
import com.graduation.rescuematerial.pojo.User;
import com.graduation.rescuematerial.dto.AppletUserList;
import com.graduation.rescuematerial.vo.UnionQueryUserVo;
import com.graduation.rescuematerial.vo.UpdatePersonalInfo;
import com.graduation.rescuematerial.vo.UserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserMapper extends BaseMapper<User> {

    /**
     * 根据手机号获取用户
     * @param phone
     * @return
     */
    User getUserByPhone(String phone);

    /**
     * 添加用户
     * @param user
     * @return
     */
    Integer addUser(User user);

//    /**
//     * 获取所有管理员(修改为查看所有用户)
//     * @return
//     */
//    List<AdminDTO> getAllAdmin();
//
//    /**
//     * 获取所有的部门管理员（更改为查看所有用户）
//     * @return
//     */
//    List<UserDTO> getAllCommonUser();

    /**
     * 根据手机号获取用户的所有信息（包含部门和权限）
     * @return
     */
    UserVo getUserAllInfoByPhone(String phone);

    //修改部门成员信息
    int updateOrgUserInfo(@Param("userInfo") UpdatePersonalInfo updatePersonalInfo, @Param("companyName") String companyName);

    //修改
    int updateUserInfo(UpdatePersonalInfo updatePersonalInfo);

    List<UserDTO> getAllUser();

    List<UserDTO> getOrgUser(String companyName);

    List<UserDTO> sysUnionQuery(UnionQueryUserVo unionQueryUserVo);

    int cancelUser(Long phone, Boolean status, String companyName);

    List<AppletUserList> getListByCompanyName(@Param("companyName") String companyName,@Param("action") String action);
}
